# 导入用于对象保存和加载的包
import joblib
# 导入keras中的词汇映射器Tokenizer
from keras_preprocessing.text import Tokenizer

# 初始化一个词汇表
vocab = ['周杰伦', '陈奕迅', '王力宏', '李宗盛', '吴亦凡', '鹿二晗']

# 在映射器上拟合现有词汇表
t = Tokenizer(num_words=None, char_level=False)
t.fit_on_texts(vocab)

# 循环遍历词汇表，将每一个单词映射为one-hos张量表示
for token in vocab:
    # 初始化一个全零list
    zero_list = [0]*len(vocab)
    token_index = t.texts_to_sequences([token])[0][0] - 1
    zero_list[token_index] = 1
    print('{}的one_hot编码为{}'.format(token, token_index))

tokenizer_path = './03_tokenizer'
joblib.dump(t, tokenizer_path)
